如果我們想要將特定的record找出來我們可以透過以下方法:
@api.model
def multiple_authors(self,all_book):
def predicate(book):
if len(book.author_ids)>1:
return True
return all_book.filter(predicate)
@api.model
def get_author_names(self,books):
return book.mapped('author_ids.name')
或是排序record:
@api.mode
def sort_book_by_date(self,books):
return books.sorted(key='release_date')
sudo()
當我們遇到需要特定全線record時,想將資料呈現給不再此群組中的使用者看,可以使用:
def book_rent(self):
self.ensure_one() #這段在使用sudo()時,非常重要必定要搭配使用
if self.state !='avaliable':
raise UserError(_('book is not available for renting!!'))
rent_as_superuser=self.env['library.book.rent'].sudo()
rent_as_superuser.create({'book_id':self.id,
'borrower_id':self.env.user.partner_id.id,})
好~ 有關model相對應用的東西就介紹到這邊,明天開始我們進入view的介紹。